# To change this template, choose Tools | Templates
# and open the template in the editor.

Given /^existen libros sin calificar en la base de datos$/ do
  libro = Libro.new
  libro.nombre = 'libro1'
  libro.ISBN = "0001"
  libro.autor = 'autor1'
  libro.calificacion = 0
  libro.numerocalificaciones = 0
  libro.save
end

Given /^estoy en la pagina de calificar libros$/ do
 visit('http://localhost:3000/usuarios/calificar')
end

Given /^No existen libros en la base de datos$/ do

end

Given /^existen libros en la base de datos con calificacion cinco$/ do
  libro = Libro.new
  libro.nombre = 'libro1'
  libro.ISBN = "0001"
  libro.autor = 'autor1'
  libro.calificacion = 5
  libro.numerocalificaciones = 1
  libro.save
end

Given /^existen libros en la base de datos con calificacion (\d+)\.(\d+) y numero de calificaciones (\d+)$/ do |arg1, arg2, arg3|
   libro = Libro.new
  libro.nombre = 'libro1'
  libro.ISBN = "0001"
  libro.autor = 'autor1'
  calif = arg1+ "." + arg2
  libro.calificacion = calif.to_f
  libro.numerocalificaciones = arg3
  libro.save
end

When /^seleccione el libro a calificar  "(.*?)"$/ do |arg1|
  select(arg1,:from=>'libro')
end

When /^seleccione la calificacion que le quiero dar al libro  "(.*?)"$/ do |arg1|
  choose(arg1)
end

When /^presiono Registrar$/ do
  click_button('Registrar')
end

When /^selecciono las calificaciones que le quiero dar al libro  "(.*?)" y "(.*?)"$/ do |arg1, arg2|
  choose(arg1)
  choose(arg2)
end

Then /^el resultado deberia ser "(.*?)" en la pantalla\.$/ do |arg1|
 # have_content?(arg1)
  lib = Libro.find_all_by_nombre("libro1").first.calificacion.to_s
  assert_equal(lib, arg1)
end

Then /^se deberia ver "(.*?)" en la pantalla\.$/ do |arg1|
 # have_content?(arg1)
  have_content?(arg1)
end

